<?php

/**
 * Elgg thewire: add shout action
 *
 * @package Elggthewire
 */
$json_data = array();
$is_ajax = false;
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
	$is_ajax = true;
}

// Make sure we're logged in (send us to the front page if not)
if ($is_ajax && !isloggedin()) {
	$json_data['error'] = 'not_logged';
	echo json_encode($json_data);
	die;
} else {
	if (!isloggedin()) {
		forward();
	}
}

// Get input data
$body = get_input('note');
$access_id = (int) get_default_access();
if ($access_id == ACCESS_PRIVATE) {
	$access_id = ACCESS_LOGGED_IN; // Private wire messages are pointless
}
$method = get_input('method');
$parent = (int) get_input('parent', 0);
if (!$parent) {
	$parent = 0;
}
// Make sure the body isn't blank
if (empty($body)) {
	if ($is_ajax) {
		$json_data['error'] = elgg_echo("thewire:blank");
		echo json_encode($json_data);
		die;
	} else {
		register_error(elgg_echo("thewire:blank"));
		forward("mod/thewire/add.php");
	}
}

$save = thewire_save_post($body, $access_id, $parent, $method);
if (!$save) {
	if ($is_ajax) {
		$json_data['error'] = elgg_echo("thewire:error");
		echo json_encode($json_data);
		die;
	} else {
		register_error(elgg_echo("thewire:error"));
		forward("mod/thewire/add.php");
	}
}

if ($is_ajax) {
	$json_data['success'] = elgg_echo("thewire:posted");
	$json_data['guid'] = $save;
	$json_data['error'] = false;
	echo json_encode($json_data);
	die;
	
} else {
// Success message
	system_message(elgg_echo("thewire:posted"));

// Forward
	forward($_SERVER['HTTP_REFERER']);
}
?>